// components/user_addr/user_addr.js
Component({

  /**
   * 组件的属性列表
   */
  properties: {
    data: {
      type: Array,
      value: [{
        id: 1,
        name: '规格一',
        children: [ // 子节点数组
          {
            id: 11,
            name: '标签1'
          },
          {
            id: 12,
            name: '标签2',
          }
        ]
      }]
    },
    tagMap: {
      type: Object,
      value: {}
    }
  },

  /**
   * 组件的初始数据
   */
  data: {
    tagMap: {}
  },

  /**
   * 组件的方法列表
   */
  methods: {
    /**
     * 标签选中
     * @param {*} e 
     */
    optsTap: function (e) {
      let item = e.currentTarget.dataset.item
      let key = item.ancestors
      let tagMap = this.data.tagMap
      tagMap[key] = item.id
      this.setData({
        tagMap: tagMap
      })
      // 提取对象的键（字段名）
      var keys = Object.keys(tagMap);

      // 对键进行排序
      keys.sort();

      // 用于存储排序后的值的数组
      var sortedValues = [];

      // 遍历排序后的键数组
      keys.forEach(function (key) {
        // 将排序后的值放入数组中
        sortedValues.push(tagMap[key]);
      });

      // 将数组转换为逗号分隔的字符串
      var sortedString = sortedValues.join(',');

      // 输出排序后的字符串
      console.log(sortedString);

      this.triggerEvent("optsTap", {
        tagIds: sortedString
      })
    }


  }
})